iT邦幫忙

2026 iThome 鐵人賽

DAY 30
0
Vibe Coding

使用 Vibe Coding 開發一套 Tutting 模擬器吧!系列 第 30 篇

🎉DAY 30 | 完賽!3D Tutting 模擬器的 30 天奇幻旅程

  • 分享至 

  • xImage
  •  

嗨大家,我是陳阿鬼!

我做到了!整整 30 天不間斷的技術寫作與 Vibe Coding 實踐!

從當初躺在床上、腦袋裡閃過手腕 90度 折疊 與 音樂卡點的練舞畫面,到今天打造出一套具備完整功能的網頁版 3D Tutting 模擬器。這是一場將「街舞藝術」與「軟體工程」深度結合的實踐。

在最後這一天,我想帶大家重新梳理這 30 天來的技術地圖,並分享這趟旅程帶給我的深刻啟示與未來展望。

30 天技術架構進化地圖

這套模擬器並非一蹴可幾,而是遵循著 「從視覺幾何、肢體控制、物理現實、演算法大腦」的四階段進化路線:
https://ithelp.ithome.com.tw/upload/images/20260921/20144288W7x8YJIujk.jpg

階段一:幾何繪圖與音樂時間軸

  • 3D 視覺與骨架載入:基於 Three.js 搭建 3D 網頁渲染環境,導入並解析 Mixamo XBOT 標準 18+ DOF 角色骨架。
  • 32 種 Penner Easing 緩動曲線:實作包含 Back、Elastic 與 Bounce 等多種緩動曲線,並透過 SVG 視覺化面板調校,展現肌肉爆發力與 Overshoot 甩勁。
  • BPM 時基音樂時間軸:建立音軌同步控制與關鍵影格(Keyframe)編輯系統,確保所有幾何折疊都能精準 On Beat 卡點。

階段二:逆向運動學與掌指微觀幾何

  • Two-Bone Analytic IK:開發手腳兩節解析解 IK 系統,搭配「橙色末端目標球 / 黃綠色極向球」雙球控制架構,大幅降低空間定格(Fixed Point)與穿線(Threading)的編舞門檻。
  • 30 節掌指微觀幾何:解構雙手十根手指共 30 節關節,專為 Finger Tutting 開發微觀控制面板。
  • CCD / FABRIK IK 解算器:導入 CCD 與 FABRIK 迭代鏈演算法,支援多關節連續連動與姿勢庫(Pose Lib)、手勢庫(Gesture Lib)模組化套用。

階段三:人體工學限制與物理逼近

  • 關節角度限制 (Joint Limits):為全骨架注入歐拉角夾緊(clampAxis)機制,防止骨骼發生解剖學上不可能發生的反折。
  • Swing-Twist 橢圓錐約束:採用擺動-自轉分解演算法,徹底解決肩膀與髖部等球窩關節在極端角度下的「矩形卡死」與脫臼假姿勢。
  • 簡化膠囊體 (Capsule) 碰撞偵測:以 low-cost 的膠囊體對球體幾何演算法實現 60FPS 即時肢體防穿膜,並導入「扶握箱 (Grab Box)」與「想像力模式」增強互動質感。

階段四:大腦與智慧記憶

  • 招式庫 (Move Library):設計深拷貝隔離與時間軸切片架構,實現招式模組化插入、跨專案 JSON 匯出匯入與 localStorage 快取同步。

Vibe Coding 與跨界思考

回顧過往的軟體開發,要將一套涵蓋 3D 線性代數、矩陣轉換、幾何 IK、人體工學限制......等演算法的系統獨立從零寫出來,往往需要耗費數個月的時間與心力。但在這個 GenAI 爆發的時代,透過 Vibe Coding 的開發方式得以改變軟體開發的規則。

Vibe Coding 並不只是「讓 AI 幫忙寫程式」,而是一種全新的協作方式。開發者先描述目標、操作情境與理想體驗,再由 AI 協助拆解問題、建立原型、補足技術細節,並在一次次測試與修正中逐漸逼近真正想要的成果。程式碼仍然重要,但開發的起點,已從「我會使用什麼技術」轉向「我想解決什麼問題」。

對我而言,這種轉變最直接地體現在 3D Tutting 舞蹈模擬器的開發上。

AI 放大的,是人的視野

Vibe Coding 最令人期待的地方,不只是縮短開發時間,而是讓更多人有機會參與創造。

它讓不熟悉所有技術細節的人,也能從自己的專業與經驗出發,提出問題、建立原型並反覆驗證。原本需要龐大團隊或長時間學習才能開始的專案,如今可以先用一個小型版本證明概念,再逐步成長為更完整的系統。

然而,工具愈強,人的判斷就愈重要。我們仍需要理解問題、辨識限制、驗證結果,也需要對作品的品質負責。AI 不會自動產生真正有價值的方向;它只是讓一個人的想法,能比過去走得更快、更遠。

對我而言,開發 3D Tutting 模擬器不只是完成一套工具,更像是在驗證一件事:當舞蹈知識、軟體思維與生成式 AI 相遇,原本分屬不同世界的元素,可以共同形成一種新的創作方式。

未來展望

雖然鐵人賽的 30 天文章告一段落,但這套 3D Tutting 模擬器的進化遠未結束。未來我規劃繼續拓展以下方向:

各個功能整合、擴充 Waving 功能

除了 Tutting 的角度與框架,我也希望將 Waving 的傳遞概念納入模擬器。使用者可以指定波浪經過的關節順序、傳遞速度、振幅與延遲,觀察能量如何從手指、手腕、手肘一路傳到肩膀與身體。

搭配自訂軌跡控制點後,動作將不再侷限於兩個姿勢之間的直線插值,而能沿著曲線、圓弧甚至更複雜的空間路徑移動。這不僅能增加動作的流動性,也能讓模擬器從姿勢編輯工具,逐步走向運動設計工具。

建立 Tutting 動作資料庫與 AI 生成系統

未來每一個 Pose、Transition 與 Combo,都可以轉換成結構化資料,記錄使用部位、角度、方向、節拍、空間位置與動作特徵。當資料量逐漸累積後,模擬器便能從單純的操作工具,成長為保存與分析 Tutting 動作知識的資料庫。

在此基礎上,AI 將不只是協助寫程式,也能參與編舞。使用者或許只要輸入「八拍、左右鏡像、包含 Finger Tutting,第四拍製造停頓」,系統就能從既有動作中組合出初稿,再由舞者進一步調整。AI 負責提供可能性,舞者則保留審美、選擇與創作主導權。

從個人工具走向教學與社群平台

對初學者而言,3D 模型可以提供傳統影片難以呈現的視角:自由旋轉鏡頭、放慢速度、拆解關節、比較左右動作,甚至即時提示角度是否到位。未來可加入分級教材、動作挑戰、學習紀錄與姿勢比較,讓使用者從觀察、模仿逐步走向自主創作。

更長遠來看,我希望這套工具能與台灣 Tutting 社群產生連結。舞者可以分享自己的 Pose 與 Combo、交換編舞概念,並留下不同世代、不同風格的動作資料。模擬器不只是呈現舞蹈的軟體,也能成為保存文化、促進交流與孕育創作的數位空間。

這些方向不會一次完成,而會像過去的開發一樣,透過一個又一個小版本持續演進。每一次新增功能,都同時是一場關於舞蹈、技術與人機協作的實驗。鐵人賽的 30 天是一個階段終點,卻也是這套系統真正開始成長的起點。

感謝與致謝

感謝這 30 天來持續追蹤、按讚、留言討論的所有鐵人賽讀者、技術社群與街舞圈的好朋友!你們的反饋與鼓勵是我每天堅持寫作與 Coding 到深夜的最大動力。

感謝科技的演進,讓幾何、街舞藝術與程式碼能在瀏覽器的小小視窗中交織出如此燦爛的火花。

我是陳阿鬼,3D Tutting 模擬器開發成功!Keep Tutting and Happy Coding!


上一篇
📐DAY 29 | 最後一哩路:3D Tutting 模擬器的極限與不可被演算法計算的「情緒」
系列文
使用 Vibe Coding 開發一套 Tutting 模擬器吧! 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言